Шаг 19 - Синтаксис формул.

1. Текст

При использовании текста в формулах он должен быть заключен в двойные или одинарные кавычки. В одной формуле можно одновременно использовать оба вида кавычек, но нужно соблюдать парность

Пример: “Текст”,  ‘Текст’

2. Числа

Числа должны содержать в качестве десятичного разделителя точку. Не допускаются пробелы внутри числа, разделители тысяч и знаки валюты.

Пример:  12345

3. Поля данных

Синтаксис: {Имя_таблицы.Поле}

При использовании в формуле поле должно быть заключено в фигурные скобки {}, с указанием имени таблицы и, через точку, имени поля

Пример:  {Orders.Costs}

4. Поля формул и параметрические поля

Синтаксис: {Имя_поля}

Имена этих полей заключаются в фигурные скобки. Перед именем поля формулы автоматически устанавливается знак @, перед именем параметрического поля – знак ?.

Пример:  {@SumAccount}, {?DocDate}

5. Операции

При использовании операций в формулах в нужном месте просто вводится знак операции. До и после знака операции можно вводить пробел, но он не обязателен.

Пример:  1 + 2

6. Функции

Синтаксис: Имя_функции(параметры)

При использовании функций вводится имя функции и необходимые параметры в круглых скобках. При вводе параметров необходимо соблюдать синтаксис в зависимости от типа параметра: поля заключать в фигурные скобки, текст – в одинарные или двойные кавычки и т. д.

Пример:   Sum({Pays.Qv})

7. Скобки

{} – в фигурные скобки заключаются имена полей;

[] – в квадратные скобки заключаются индексы массивов;

() – в круглые скобки заключаются параметры, а также они позволяют группировать операции и определять порядок их выполнения.

8. Переменные

В Crystal Reports переменные определяются с помощью ключевого слова, которое начинается с названия типа данных и суффикса Var.

Пример: 	NumberVar x ; 		- переменная x числового типа
	CurrencyVar CCost ; 	- переменная CCost денежного типа

Значения присваиваются переменным с помощью оператора присваивания : =

X := 24 ;

Присвоить значение переменной можно непосредственно при объявлении

StringVar LName := ”Иванов” ;

Объявление переменной должно заканчиваться точкой с запятой. В других случаях точка с запятой используется для разделения нескольких операторов, если они написаны в одну строку.

9. Комментарии

Комментарии в формулах начинаются со знака // (двойной слэш) и действуют до конца строки. В одной строке допускается совместное написание выражения и комментария, но комментарий должен быть справа.

//Это пример комментария

Еще одна неприятная особенность: редактор формул не воспринимает набор текста в русском регистре. Приходится писать текстовые фрагменты в Блокноте, а затем копировать через буфер обмена. Формулы с русскими текстовыми фрагментами работают нормально. Если кто знает лучший способ решения этой проблемы, пишите.


Автор Юрий Гвоздев.
Hosted by uCoz